package com.dd.cloud.user.req.consult;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * <p>
 * 患者添加预约咨询问诊
 * </p>
 *
 * @author czg
 * @since 2023-07-11
 */
@Data
public class ConsultSubscribeCreateReq implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 问诊人
     */
    @NotBlank(message = "问诊人就诊号不能为空")
    private String medId;

    /**
     * 问诊目的
     */
    @NotBlank(message = "问诊目的不能为空")
    private String aim;

    /**
     * 预约的日期
     */
    @NotNull(message = "预约日期不能为空")
    private LocalDate day;

    /**
     * 问诊类型 1在线问诊 2在线咨询
     */
    @NotNull(message = "问诊类型不能为空")
    private Integer type;

    /**
     * 复诊类型 1复诊 2不是复诊
     */
    private Integer visitType;

    /**
     * 首诊的机构名称
     */
    private String firstMechanName;

    /**
     * 问题描述
     */
    @NotBlank(message = "问题描述不能为空")
    @Length(max = 1000, message = "问题描述不能超过1000字符")
    private String content;

    /**
     * 问诊金额
     */
    @NotNull(message = "问诊金额不能为空")
    private Integer consultPrice;

    /**
     * 问题描述 图片地址 多个,隔开
     */
    private String imgUrl;

    /**
     * 医生id
     */
    @NotNull(message = "医生id不能为空")
    private Integer doctorId;

    /**
     * 小程序支付openid
     */
    @NotBlank(message = "openid不能为空")
    private String openId;

    /**
     * 支付方式
     */
    @NotBlank(message = "支付方式不能为空")
    private String payType;
}
